import axios from 'axios' 
import {getToken} from '@/js/utils/cookie'

//服务端接口的地址
const serverIP = 'http://localhost:8070'

//axios设置默认的请求头
//axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'

//创建axios的示例
const service = axios.create({
    //axios中请求配置的baseURL,表示请求的公共部分
    baseURL: serverIP,
    //超时时间
    timeout: 1000 * 50
    // `headers` 是即将被发送的自定义请求头。 x-www-form-urlencoded为Map的形式。 json:json提供比Map更为复杂的数据结构集合
    //headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})
service.defaults.headers['Content-Type'] = 'application/json;charset=utf-8';

//过滤请求
service.interceptors.request.use(config =>{
    //是否需要设置token

    //头部没有token
    const token = (config.headers || {}).isToKen === false;
    if(getToken() && !token){
        config.headers.token = getToken();
    }
    return config;
},error =>{
    console.log(error)
    Promise.reject(error)
})


// 添加响应拦截器
service.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

//如果直接 export axios 会报错
export var ax  = axios;

//暴露除service的服务
//export default service
//通过export方式导出，在导入时要加{ }，export default则不需要
export default service

